﻿using System.Threading.Tasks;
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using pandx.Mulan.Authorization.Roles.Dto;
using pandx.Mulan.Authorization.Users.Dto;

namespace pandx.Mulan.Authorization.Users
{
    public interface IUserAppService : IApplicationService
    {
        Task<PagedResultDto<UserListDto>> ObtainUsers(ObtainUsersInput input);
        Task<GetUserForEditOutput> GetUserForEdit(NullableIdDto<long> input);

        Task CreateOrUpdateUser(CreateOrUpdateUserInput input);
        Task DeleteUser(EntityDto<long> input);
        Task UnlockUser(EntityDto<long> input);
    }
}

